#ifndef	_DEF_H_
#define	_DEF_H_
#include <errno.h>

//输入行的最大长度
#define	MAXLINE	1024
//每个简单命令的参数最多个数
#define MAXARG	20
//一个管道行中简单命令的最多个数
#define	PIPELINE	5
//IO重定向文件名最大长度
#define	MAXNAME	100

#define	ERR_EXIT(m) \
	do \
	{ \
		perror(m); \
	} while(0)

#ifdef _DEBUG
#define	DEBUG_PRINT(...) \
	({ \
		printf("////// debug info in file %s line %d //////\n", \
				__FILE__,__LINE__); \
		printf(__VA_ARGS__); \
	})
#else
#define	DEBUG_PRINT(...)
#endif
typedef	struct command
{
	//一个命令中的参数列表，最后一个是空指针
	char *args[MAXARG + 1];
	int infd;
	int outfd;
} COMMAND;
#endif /* _DEF_H_*/
